// pages/info/info.js
const api = require("../../config/api")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: null,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
  },


  authLogin() {
    wx.getUserProfile({
      desc: '完善用户授权信息',
      success: (res) =>  {
        console.log("----登录成功，用户信息如下：\n%o", res);
        this.setData({
          userInfo: res.userInfo 
        })
        wx.login({
          success: function(res) {
            if (res.code) {
              var code = res.code;
              // 调用后端接口，使用code换取openId
              wx.request({
                url: api.wxLoginUrl,
                method: 'GET',
                data: {
                  code : code
                },
                success: function(res) {
                  console.log("----登录返回结果数据：",res);
                  // 将获取到的用户的微信唯一登录标识字段openId保存到存储中，共享。
		    wx.setStorageSync('openId', res.data.result.openid);
                },
                fail: function(res) {
                  console.log('请求失败', res);
                }
              })
            } else {
              console.log('登录失败！' + res.errMsg);
            }
          }
        });
        
      },
      fail: (e) =>  {
        console.log("----登录失败！",e);
      }
    })
  },

  logout() {
    this.setData({
      userInfo: null
    })
    wx.removeStorageSync('openId');
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 查看是否授权
    wx.getSetting({
      success(res) {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称
          wx.getUserInfo({
            success: function (res) {
              console.log(res.userInfo)
            }
          })
        }
      }
    })
  },
  bindGetUserInfo(e) {
    console.log(e.detail.userInfo)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },
  //登录功能
  login: function () {
    const self = this;
    const login = wx.login();
    login.then(res => {
      console.log("-----wx login res: %o ", res);
      const code = res.code; // 登录凭证
      console.log("------ wx login code is :" + code);
      wx.showToast({
        title: '登录凭证:' + code,
        icon: 'success', // 可选，'success', 'loading', 'none'
        duration: 5000 // 可选，3000ms（3秒）后自动消失 
      });
      // return ;
      // 发送code到服务器进行验证
      wx.request({
        url: api.apiUrl + '/wx/login/', // 替换为你的服务器地址
        method: 'POST',
        data: {
          code: code
        },
        success(res) {
          if (res.data.success) { // 假设服务器返回的数据结构为 { success: true, userInfo: {...} }
            // 登录成功，将用户信息保存到本地数据中
            self.setData({
              userInfo: res.data.userInfo
            });
            // 跳转到主页或其他页面
            wx.switchTab({
              url: '/pages/index/index'
            }); // 替换为你的主页路径
          } else {
            // 登录失败，显示错误信息
            wx.showToast({
              title: '登录失败',
              icon: 'none',
              duration: 2000
            });
          }
        }
      });
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})